package org.example.doubleFinger;

import org.example.link_list.ListNode;

public class Reverse_linked_list {
    public static void main(String[] args) {
        //反转链表

        //给你单链表的头节点 head ，请你反转链表，并返回反转后的链表。
        ListNode listNode2 = new ListNode(5);
        listNode2.next = null;
        ListNode listNode3 = new ListNode(4,listNode2);
        ListNode listNode4 = new ListNode(3,listNode3);
        ListNode listNode5 = new ListNode(2,listNode4);
        ListNode head = new ListNode(1,listNode5);
        ListNode node = reverseList1(head);
        while(node!=null){
            System.out.println(node.val);
            node = node.next;
        }
    }
    public static ListNode reverseList1(ListNode head) {
        ListNode p =null;
        ListNode q = head;
        ListNode temp = null;
        while(q!=null){
             temp = q.next;
             q.next = p;
             p = q;
             q = temp;
        }
        return p;
    }
}
